package stock;

import com.shfl.app.ConvertImageMain;
import javafx.stage.Stage;
import service.RectD;

import java.util.TreeMap;

public class Stock {


    public static TreeMap<Integer, String> IDENTIFY_TYPE_MAP = new TreeMap<Integer, String>() {
        {
            put(0, "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic");//通用文字识别
            put(1, "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic");//通用文字识别（高精度版）
            put(2, "https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting");//手写文字识别
            put(3, "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard");//身份证识别
            put(4, "https://aip.baidubce.com/rest/2.0/ocr/v1/bankcard");//银行卡识别
            put(5, "https://aip.baidubce.com/rest/2.0/ocr/v1/business_license");//识别营业执照
            put(6, "https://aip.baidubce.com/rest/2.0/ocr/v1/passport");//护照识别
            put(7, "https://aip.baidubce.com/rest/2.0/ocr/v1/business_card");//名片识别
            put(8, "https://aip.baidubce.com/rest/2.0/ocr/v1/household_register");//户口识别
            put(9, "https://aip.baidubce.com/rest/2.0/ocr/v1/receipt");//通用票据识别
            put(10, "https://aip.baidubce.com/rest/2.0/ocr/v1/vat_invoice");//增值税发票识别
        }
    };

    public static Stage LOGIN_STAGE = new Stage();

    public static Stage CONVERT_IMAGE_STAGE = new Stage();

    public static ConvertImageMain convertImageMain = new ConvertImageMain();

    public static Object obj = new Object();

    public static String POST_URL = "https://aip.baidubce.com/rest/2.0/ocr/v1/bankcard";

    public static  Integer selectTypeIndex = 0;

    public enum ErrorType {
        type_1("服务器内部错误，请再次请求， 如果持续出现此类错误，请在控制台提交工单联系技术支持团队", 1),
        type_2("服务暂不可用，请再次请求， 如果持续出现此类错误，请在控制台提交工单联系技术支持团队", 2),
        type_3("调用的API不存在，请检查后重新尝试", 3),
        type_4("reached\t集群超限额", 4),
        type_6("无权限访问该用户数据", 6),
        type_14("IAM鉴权失败，建议用户参照文档自查生成sign的方式是否正确，或换用控制台中ak sk的方式调用", 14),
        type_17("每天请求量超限额", 17),
        type_18("QPS超限额", 18),
        type_19("请求总量超限额", 19),
        type_100("无效的access_token参数，请检查后重新尝试", 100),
        type_110("access_token无效", 110),
        type_111("access token过期", 111),
        type_282000("服务器内部错误，如果您使用的是高精度接口，报这个错误码的原因可能是您上传的图片中文字过多，识别超时导致的，建议您对图片进行切割后再识别，其他情况请再次请求， 如果持续出现此类错误，请在控制台提交工单联系技术支持团队", 282000),
        type_216100("请求中包含非法参数，请检查后重新尝试", 216100),
        type_216101("缺少必须的参数，请检查参数是否有遗漏", 216101),
        type_216102("请求了不支持的服务，请检查调用的url", 216102),//	service not support	请求了不支持的服务，请检查调用的url
        type_216103("请求中某些参数过长，请检查后重新尝试", 216103),//param too long
        type_216110("appid不存在，请重新核对信息是否为后台应用列表中的appid", 216110),//	appid not exist	appid不存在，请重新核对信息是否为后台应用列表中的appid
        type_216200("图片为空，请检查后重新尝试", 216200),
        type_216201("上传的图片格式错误，现阶段我们支持的图片格式为：PNG、JPG、JPEG、BMP，请进行转码或更换图片", 216201),//	image format error	上传的图片格式错误，现阶段我们支持的图片格式为：PNG、JPG、JPEG、BMP，请进行转码或更换图片
        type_216202("上传的图片大小错误，现阶段我们支持的图片大小为：base64编码后小于4M，分辨率不高于4096*4096，请重新上传图片", 216202),//	image size error
        type_216630("识别错误，请再次请求，如果持续出现此类错误，请在控制台提交工单联系技术支持团队", 216630),//	recognize error
        type_216631("识别银行卡错误，出现此问题的原因一般为：您上传的图片非银行卡正面，上传了异形卡的图片或上传的银行卡正品图片不完整", 216631),    //recognize bank card error
        type_216633("识别身份证错误，出现此问题的原因一般为：您上传了非身份证图片或您上传的身份证图片不完整", 216633),//	recognize idcard error
        type_216634("检测错误，请再次请求，如果持续出现此类错误，请在控制台提交工单联系技术支持团队", 216634),//detect error
        type_272000("未能匹配模板，请检查参照字段的设置是否符合规范，并重新选取或增加更多的参照字段", 272000),//	structure failed
        type_272001("一般是因为上传的图片不属于任一训练过的图片种类，请核查上传的图片，或对分类的训练集作出调整", 272001),//classify failed	未能成功分类
        type_282003("请求参数缺失", 282003),//	missing parameters: {参数名}
        type_282004("您指定的模板暂未发布，请先保存发布该模板，再调用", 282004),//invalid parameter, appId doesn't own this template nor not launch
        type_282005("处理批量任务时发生部分或全部错误，请根据具体错误码排查", 282005),//	batch processing error
        type_282006("批量任务处理数量超出限制，请将任务数量减少到10或10以下", 282006),//	batch task limit reached
        type_282102("未检测到图片中识别目标，请确保图片中包含车牌", 282102),//	target detect error
        type_282103("图片目标识别错误，请确保图片中包含车牌，如果持续出现此类错误，请在控制台提交工单联系技术支持团队", 282103),//	target recognize error
        type_282110("URL参数不存在，请核对URL后再次提交", 282110),//	urls not exit
        type_282111("URL格式非法，请检查url格式是否符合相应接口的入参要求", 282111),//url format illegal
        type_282112("url下载超时，请检查url对应的图床/图片无法下载或链路状况不好，您可以重新尝试一下，如果多次尝试后仍不行，建议更换图片地址", 282112),//	url download timeout
        type_282113("URL返回无效参数", 282113),//	url response invalid
        type_282114("URL长度超过1024字节或为0", 282114),//	url size error
        type_282808("request id xxxxx 不存在", 282808),//	request id: xxxxx not exist	request id xxxxx 不存在
        type_282809("返回结果请求错误（不属于excel或json）", 282809),//	result type error	返回结果请求错误（不属于excel或json）
        type_282810("图像识别错误", 282810);//	image recognize error	图像识别错误
        String name;
        Integer value;

        ErrorType(String name, Integer value) {
            this.name = name;
            this.value = value;
        }

        public static String desc(Integer value) {
            for (ErrorType key : ErrorType.values()) {
                if (key.value.equals(value)) {
                    return key.name;
                }
            }
            return "";
        }
    }
}
